package com.miyu.system.service.crawler;

import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;

/**
 * 书籍处理服务
 *
 * @author longm
 * @date 2024/11/20
 */
public interface BookService {
    /**
     * 书搜索
     *
     * @param jsonObject JSON 对象
     * @return {@link JSONArray }
     */
    JSONArray bookSearch(JSONObject jsonObject);

    /**
     * 书籍详情
     *
     * @param jsonObject JSON 对象
     * @return {@link JSONObject }
     */
    JSONObject bookDetail(JSONObject jsonObject);

    /**
     * 书籍章节
     *
     * @param jsonObject JSON 对象
     * @return {@link JSONArray }
     */
    JSONArray bookChapter(JSONObject jsonObject);

    /**
     * 书籍内容
     *
     * @param jsonObject JSON 对象
     * @return {@link JSONObject }
     */
    JSONObject bookContent(JSONObject jsonObject);

    /**
     * 实例化 收集书
     * @param params 本页面
     * @return {@link JSONObject}
     */
    JSONObject collectBook(JSONObject params);

    /**
     * 书籍下载
     *  3种下载 单章节下载 ；单章节合并 下载；链接下载
     * @param params 参数
     * @return {@link JSONObject }
     */
    JSONObject bookDownLoad(JSONObject params);

    /**
     * 保存书籍
     * 收集后数据 手动执行保存数据
     * @param params 参数
     * @return {@link JSONObject }
     */
    JSONObject saveBook(JSONObject params);

    /**
     * 获取参数 执行操作
     * 图书操作爬虫
     * @param params 参数
     * @return {@link JSONObject }
     */
    JSONObject execSpider(JSONObject params);
}
